Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makes it possible to disable the vent pressure lockout temporarily with a screwdriver #31050

Merged
merged 11 commits into from
Sep 22, 2024

Conversation

PotentiallyTom
Copy link
Contributor

About the PR

Using a screwdriver on a pressure-locked-out vent (yellow lights) disables the lockout for 30 seconds.

Why / Balance

When there is no gas on top of an air vent, the vent enters pressure lockout. To undo this, you need to go to the air alarm and set it to fill, which disables the lockout, or wait most of the round for the air to leak out. There are 3 problems with this.

  1. You need atmos access to edit the air alarms, which means that an engi can have rebuilt everything, but you'll still need to get an atmos tech to refill the air.
  2. It's a permanant change. The atmos tech then has to wait around for a minute while it refills. It's common for the tech to just leave the air alarm on fill, making the pressure lockout irrelevant.
  3. There's no way to disable this without an air alarm.

This fixes all 3 of these problems.

Balance wise, the same effect can be achieved with a crowbar, wrench, and 2 sheets of steel by replacing the vent with a passive vent. It's actually less powerful than that, since it's only a temporary change.

From testing, 30 seconds is enough to fill a 5x5 room from a single vent.

Technical details

If a player uses a screwdriver on a vent, it checks if it's locked out. If it is, it starts a do-after. Once the do-after finishes it disables the lockout, and makes note of the current time + some delay. If the vent is locked out and the time is longer than the stored time, it re-enables the lockout.

Media

Vent just after being screwdrivered.
image
30 seconds later.
image

Requirements

  • I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
  • I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

No breaking changes

Changelog

🆑

  • tweak: Vent pressure lockout can be temporarily disabled with a screwdriver

@github-actions github-actions bot added the Status: Needs Review This PR requires new reviews before it can be merged. label Aug 15, 2024
@Partmedia
Copy link
Contributor

Hello and thank you for your work on this PR.

I'm not entirely convinced that this is a mechanic that needs to exist, because:

You need atmos access to edit the air alarms, which means that an engi can have rebuilt everything, but you'll still need to get an atmos tech to refill the air.

Why is this a problem? We have engineers and atmos techs as separate jobs/access levels for a reason. We need to give more reasons for atmos techs to do things on the station (e.g. fix stuff) instead of sit around cooking frezon.

It's a permanant change. The atmos tech then has to wait around for a minute while it refills. It's common for the tech to just leave the air alarm on fill, making the pressure lockout irrelevant.

Why is this a problem? If you set the PA to 3, it's also a "permanent" change until the singularity looses. There should be consequences for atmos techs being lazy and/or incompetent.

There's no way to disable this without an air alarm.

Why should there be?

If we get down to the fundamental issue, maybe it's that atmos techs physically present at a vent should be able to control it or perhaps override air alarm settings. If that is truly the underlying issue, then we should be advocating replicating the air alarm UI elements for individual vents, instead of doing a one-off screwdriver hack. Why does the screwdriver change lockout, instead of something else more normal like the pressure threshold?

Or, if we want to enforce that air vents must be controlled through an air alarm, then given that you can already disable lock-out from an air alarm, that should be the canonical way to do so.

@PJB3005
Copy link
Member

PJB3005 commented Aug 15, 2024

If you wanna fuck with atmos devices without required access, hacking an air alarm isn't very hard.

@JIPDawg
Copy link
Contributor

JIPDawg commented Aug 15, 2024

Yeah if you have a screwdriver you're already half way to hacking the air alarm and set it to fill yourself.

@LankLTE
Copy link
Contributor

LankLTE commented Aug 15, 2024

I think a better solution would be to add a button to each individual vent that allows it to bypass lockout, similarly to how each scrubber has the option to be set to widenet individually

@lzk228
Copy link
Contributor

lzk228 commented Aug 15, 2024

i agree with Lank, should be a button in air alarm ui like all the others settings

@Emisse
Copy link
Contributor

Emisse commented Aug 15, 2024

i think this is good imo

@deltanedas
Copy link
Contributor

someone without atmos access can already do this with a wrench and 4 steel, make a gas pump and passive vent there you go
this is just convenience, and since it automatically turns off its less prone to spacing all of distro

@PotentiallyTom
Copy link
Contributor Author

PotentiallyTom commented Aug 15, 2024

If you wanna fuck with atmos devices without required access, hacking an air alarm isn't very hard.

Yeah if you have a screwdriver you're already half way to hacking the air alarm and set it to fill yourself.

I don't think that having to hack into a panel to fill an an area with air as a non-antag engineer is a good thing. Instead what usually happens is you play the game of "how many doors do I have to open before the average pressure is above the lock-out value?" which is frustrating and usually makes the problem worse.

Why is this a problem? We have engineers and atmos techs as separate jobs/access levels for a reason. We need to give more reasons for atmos techs to do things on the station (e.g. fix stuff) instead of sit around cooking frezon.

I actually agree with this, and ideally you would bring an atmos tech to repressurise everything. But this game is inherently about chaos. In a lot of cases there's more places spaced than atmos techs. Also a lot of times atmos techs just don't respond to things. Having to stand around while you wait for an atmos tech to who isn't actually coming to push a button is a pain. It's a smaller, less severe version of the "if engineering is bad nobody else gets to have fun" problem.

I think a better solution would be to add a button to each individual vent that allows it to bypass lockout, similarly to how each scrubber has the option to be set to widenet individually

I'm not opposed to this as long as the button can be pushed by anyone. I wanted to keep it as simple as possible, and didn't want to mess around with UI stuff. It would mean that the system doesn't fix the following problem:

Why should there be?

It's impossible to bootstrap repressurising a room if the air alarm is destroyed / if you're building a new room without one. Having to grab a new air alarm board means one person walking to the tech vault / cargo, while everyone else stands around outside the spaced room waiting for them. With this you can open the vents, let people start doing stuff (healing people, brigging people, etc) and come back with the air alarm. It's a small thing but it means being less reliant on what the engineer choses to spend their time doing.

someone without atmos access can already do this with a wrench and 4 steel, make a gas pump and passive vent there you go
this is just convenience, and since it automatically turns off its less prone to spacing all of distro

This is pretty much my thought process in terms of balance, anyone who wants to sabotage distro has better methods than what this PR adds.

This is supposed to be a small thing that engineers can do, for minor spacing, or for situations where an atmos tech can't or won't come.

Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the Merge Conflict This PR currently has conflicts that need to be addressed. label Aug 25, 2024
@slarticodefast slarticodefast added the Undergoing Maintainer Discussion This PR is currently going through the 72-hour discussion window as per maintainer policy label Aug 31, 2024
@slarticodefast slarticodefast added Status: Awaiting Changes This PR needs its reviews addressed or changes to be made in order to be merged. and removed Status: Needs Review This PR requires new reviews before it can be merged. labels Sep 8, 2024
@github-actions github-actions bot removed the Merge Conflict This PR currently has conflicts that need to be addressed. label Sep 14, 2024
@github-actions github-actions bot added Status: Needs Review This PR requires new reviews before it can be merged. and removed Status: Awaiting Changes This PR needs its reviews addressed or changes to be made in order to be merged. labels Sep 14, 2024
@slarticodefast
Copy link
Member

Hey, I gave it an in-game test and found a small problem: If you use a screwdriver on an unanchored vent in pressure lockout it will sometimes take priority over deconstructing, meaning you cannot deconstruct it. So you should check for anchoring in OnInteractUsing.
Otherwise this should be good to merge.

@slarticodefast slarticodefast removed the Status: Needs Review This PR requires new reviews before it can be merged. label Sep 20, 2024
@slarticodefast slarticodefast added the Status: Awaiting Changes This PR needs its reviews addressed or changes to be made in order to be merged. label Sep 20, 2024
@github-actions github-actions bot added Status: Needs Review This PR requires new reviews before it can be merged. and removed Status: Awaiting Changes This PR needs its reviews addressed or changes to be made in order to be merged. labels Sep 22, 2024
@slarticodefast
Copy link
Member

Looks good to me now. Thank you for your contribution!

@slarticodefast slarticodefast merged commit d3ff4d5 into space-wizards:master Sep 22, 2024
12 checks passed
@PotentiallyTom PotentiallyTom deleted the vent-screw branch September 22, 2024 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Atmos Status: Needs Review This PR requires new reviews before it can be merged. Undergoing Maintainer Discussion This PR is currently going through the 72-hour discussion window as per maintainer policy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants